package io;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * @author Huangjin
 * @version 1.0
 * describe: 自动流连接
 * @date 2023/3/9 10:23
 */
public class PWDemo2 {
    public static void main(String[] args) throws FileNotFoundException {
        //文件流（字节流）
        FileOutputStream fos = new FileOutputStream("pw.txt");
        //转换流（字符流）:1.负责衔接字符流和字节流 2.将转换的字符转换为字节再写出
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        //缓冲字符流（字符流）：连接转换流 1.块文本数据加速（内部缓冲区默认8192个char）
        BufferedWriter bw = new BufferedWriter(osw);
        //字符流：1.实现按行写出字符串 2.具有自动行刷新功能 (构造器第1个参数为流，第2个参数可以传入boolean类型的数据来表示是否打开自动刷新功能（flush）)
        PrintWriter pw = new PrintWriter(bw,true);
        Scanner sc = new Scanner(System.in);
        System.out.println("请开始输入内容，单独输入exit退出");
        while (true){
            String line = sc.nextLine();
            if ("exit".equals(line)){
                break;
            }
            //当开启自动刷新后，每次调用println()方法写出一行后都会自动flush()
            //注意：print()不会flush的
            pw.println(line);
        }



        System.out.println("");
        pw.close();

    }
}
